Constructive Negation in Extensional Higher-Order Logic Programming
نویسندگان
چکیده
Extensional higher-order logic programming has been recently proposed as an interesting extension of classical logic programming. An important characteristic of the new paradigm is that it preserves all the well-known properties of traditional logic programming. In this paper we enhance extensional higher-order logic programming with constructive negation. We argue that the main ideas underlying constructive negation are quite close to the existing proof procedure for extensional higher-order logic programming and for this reason the two notions amalgamate quite conveniently. We demonstrate the soundness of the resulting proof procedure and describe an actual implementation of a language that embodies the above ideas. In this way we obtain the first (to our knowledge) higher-order logic programming language supporting constructive negation and offering a new style of programming that genuinely extends that of traditional logic programming.
منابع مشابه
Minimum Model Semantics for Extensional Higher-order Logic Programming with Negation
Extensional higher-order logic programming has been introduced as a generalization of classical logic programming. An important characteristic of this paradigm is that it preserves all the well-known properties of traditional logic programming. In this paper we consider the semantics of negation in the context of the new paradigm. Using some recent results from non-monotonic fixed-point theory,...
متن کاملProof Procedures for Extensional Higher-Order Logic Programming
We consider an extensional higher-order logic programming language which possesses the minimum Herbrand model property. We propose an SLD-resolution proof procedure and we demonstrate that it is sound and complete with respect to this semantics. In this way, we extend the familiar proof theory of first-order logic programming to apply to the more general higher-order case. We then enhance our s...
متن کاملExtensional Semantics for Higher-Order Logic Programs with Negation
We develop an extensional semantics for higher-order logic programs with negation, generalizing the technique that was introduced in [2, 3] for positive higher-order programs. In this way we provide an alternative extensional semantics for higher-order logic programs with negation to the one proposed in [6]. As an immediate useful consequence of our developments, we define for the language we c...
متن کاملCompiling Intensional Sets in CLP
Constructive negation has been proved to be a valid alternative to negation as failure, especially when negation is required to have, in a sense, an ‘active’ role. In this paper we analyze an extension of the original constructive negation in order to gracefully integrate with the management of set-constraints in the context of a Constraint Logic Programming Language dealing with finite sets. W...
متن کاملConstructive Negation and Constraints
Inclusion of negation into logic programs is considered traditionally to be painful as the incorporation of full logic negation tends to super-exponential time complexity of the prover. Therefore the alternative approaches to negation in logic programs are studied and among them, the procedural negation as failure sounds to be the most successful and the most widely used. However, Constraint Lo...
متن کاملذخیره در منابع من
با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید
عنوان ژورنال:
دوره شماره
صفحات -
تاریخ انتشار 2014